package model;

import java.awt.Point;

/**
 * Implémentation par défaut d'un personnage 
 * @author lmatignon
 *
 */
public class PersoAbstract implements Personnage {
	/**
	 * Position2D du perso dans la grille
	 */
	protected Point pos;
	/**
	 * Champ de Vision définit comme nombre de cases vues sur les cotes (si =1, ne voit rien car ne voit que sa case)
	 */
	protected int champVision;
	
	/**
	 * Constructeur
	 * @param pos
	 * @param champVision
	 */
	public PersoAbstract(Point pos, int champVision){
		this.pos = pos;
		this.champVision = champVision;
	}
	
	@Override
	public boolean isInMyField(Personnage p) {
	//	System.out.println("is perso "+p+" dans champ de "+this);
		if (Math.abs(p.getPos().x - this.getPos().x) < this.champVision)//p dans chap vision de this
			if (Math.abs(p.getPos().y - this.getPos().y) < this.champVision){//p dans chap vision de this
		//		System.out.println("oui");
				return true;
			}
		//System.out.println("non");
		return false;
	}
	@Override
	public Point getPos() {
		return pos;
	}
	@Override
	public void setPos(Point pos) {
		this.pos = pos;

	}
	@Override
	public int getChampVision() {
		return champVision;
	}
	@Override
	public void setChampVision(int champVision) {
		this.champVision = champVision;
	}

	@Override
	public String toString() {
		return "Perso [pos=" + pos + ", champVision=" + champVision + "]";
	}
}
